This invention relates to an information processing apparatus for inputting various data and designating processing based on the input data, and a data input method used in the apparatus.
Recently, numerical experiments, including finite element methods and finite difference methods, have come to be widely used as a means for designing numerical models, in response to the development of computer devices. The significance of such numerical experiments increases from year to year. In such experiments, models are partitioned into minute elements and used as partitioning models (element-partitioning models). In use of these partitioning models, it is important that an operator can easily perform processings to generate elements and nodal points (points connecting elements), and otherwise change or delete attributes of the elements. To provide such environment, various input-output devices (pre-post processors) are developed.
Generally, windows systems are used on these computer devices to provide operators with a friendly environment (man-machine interface) for interactive processing. For example, in a UNIX system, X-window is often used, Further, to develop a programs using the X-window, libraries such as Motif and OPEN LOOK are provided. Program developers use these libraries to easily generate and arrange menus, switches, buttons and the like for controlling programs.
These devices receive an instruction inputted by an operator and perform processing in accordance with the instruction. Methods for processing the instruction are classified into two types of methods: batch processing type methods and interactive processing type methods. In the case of batch processing, a group of input instructions is stored in a memory as file data, which has been generally formed by using a text editor or the like. That is, the plurality of instructions are stored in the file data. Then, the file data is read and interpreted as instructions, and then the instructions are sequentially executed. The features of the batch processing are that a plurality of processings are sequentially executed in the order of the instructions stored in the file data, and that once processing based on the instructions is started, the operator cannot interfere with the processing until the processings based on all the instructions are completed.
On the contrary, in the case of interactive processing, an operator gives an instruction directly to a computer device, and the computer device executes processing based on the input instruction on the spot. That is, the device repeats execution of processing based on an input instruction until all of processings required by the operator are completed.
Further, these two types of processings will be described in detail with reference to an example where a partitioning models is generated by extending nodal points or elements.
FIGS. 8A to 8C are explanatory views showing a model-generating process. In these figures, points P0 to P3 are nodal points represented with "X" (note that "X" is omitted from FIG. 8C except at P0). Reference numerals El to E3 denote elements. First, as shown in FIG. 8A, the nodal point P0 is extended in the x-direction, and the line element E1 is obtained. The point P1 is a nodal point constructing the line element El. At this time, the length of extension (referred to as "extension pitch") is "d1". The extension is made thrice in FIG. 8A. Next, as shown in FIG. 8B, the line element El is extended with an extension pitch "d2" thrice in the y-direction, and a shell element E2 is obtained. The nodal point P2 is a nodal point occurred with the shell element E2. Finally, as shown in FIG. 8C, the shell element E2 is extended with an extension pitch "d3" thrice in the z-direction, and a partitioning model E3 constituted with 9 solid elements is obtained.
Next, a case where this partitioning model is generated by using a batch-processing type device will be described.
FIG. 9 shows an example of file data. An operator makes the file data using a text editor or the like, prior to starting processing.
The processing comprises the x-directional extension of the nodal point P0, the y-directional extension of the line element E1 and the z-directional extension of the shell element E2. The file data comprises three line data corresponding to these three steps. In each of the line data, the bracketed three values represent a vector indicating the desired extension direction (x,y,z). In the following barred (i.e., between bars ".vertline.") expression, the former value ("1.0" here) represents an extension pitch, and the latter value ("3" here), the number of times of the extensions. The asterisk (*) between the two values means an extension (multiplication).
As the computer device receives the file data as batch data, the device reads the file data, and after all the data has been read, performs batch processing to execute these three (three lines) instructions sequentially. As a result, the partitioning model shown in FIG. 8C is obtained.
Next, in a case where the above partitioning model is generated by using an interactive processing type device, an operator instructs the device to perform extension with the extension pitch "1.0" thrice in the x-direction. The device executes the extension according to the instruction. When the execution is completed, the operator then instructs the device to perform an extension with the extension pitch "1.0" thrice in the y-direction. Then the device performs the extension in the y-direction in response to the instruction. Similarly, the operator instructs the device to perform an extension in the z-direction. Thus, the partitioning model shown in FIG. 8C is obtained.
The procedures of generating a partitioning model, by extending nodal points or elements of figure(s), using the conventional input-output devices are as described above. Note that these procedures are not limited to generation of partitioning models, but similar processes are used for correcting partitioning models, setting of attributes of nodal points or elements.
However, the conventional instruction execution methods using the conventional input-output devices have problems as follows.
&lt;Batch Processing&gt;
In this processing, as described above, instruction (input data) is generally input and made by using a text editor. For this reason, the forming of an instruction requires time and labor. In addition, upon forming an instruction, errors such as typing errors often occur, and thus the work of forming the instruction may include correction of the errors, which prolongs the time of input operation. In this manner, poor user interfacing lowers operability, operation efficiency and reliability of user operation.
Further, since formed instructions are all executed by batch processing, it is impossible to review a processed result at a midway point of processing and determine whether or not the following processing is to be changed. This causes difficulties in complicated processing.
&lt;Interactive Processing&gt;
In this processing, instructions are sequentially input and executed; however, instructions are not stored as records. For this reason, even if an instruction similar to a previously-executed instruction is retried, the same instruction must be input again. For example, in a case where the partitioning model shown in FIGS. 8A to 8C is generated, even if only the number of times in the z-directional extension is changed to four times, the same input operations which starts the designation of the x-directional extension shown in FIG. 8A, must be repeated again.
To solve the above problems, a device which stores all the instructions inputted in interactive-processing as a text file and executes the stored instructions in batch processing is provided (here such file is referred to as "restart file"). In this device, after interactive processing, a part of stored restart file is edited (in FIG. 8C, if the number of z-directional extensions is changed, a value in a restart file corresponding to the number of z-directional extensions is changed) to change the number of extension times in the z-direction, and thereafter, the restart file is executed in batch processing. This easily attains execution of similar processings without repeating input of the same instruction.
Actually, since a restart file itself has a considerably large amount of data, operators seldom use this restart-file function. Generally, in an interactive-processing type system, an operator makes trials and errors during input. The input instructions may include many wasteful instructions (instructions executed but deleted afterwards). However, such trial-and-error instructions are all recorded in the above-mentioned restart file. Accordingly, the contents of the restart file become very long, and correction of the file contents costs the operator immense difficulty. Therefore, the operator avoids correcting a restart file, but repeats operation in interactive processing.
Another means for compensating the above drawback is a function to store some of the input instructions, beginning from the latest one, in a memory, and arbitrarily read them for editing and execution (referred to as "instruction history function"). For example, in FIG. 8A, if the number of times of x-directional extensions is changed, the instruction corresponding to the number of times of x-directional extensions inputted in interactive processing is read, corrected, and executed; similarly, the instruction of y- and z-directional extensions may be read and re-executed. However, this method is effective in simple processing, but not practical in complicated processing.
In this method, data on extending direction, extension pitch and number of times of extensions are sequentially provided; however, these data are stored in the memory independently. Accordingly, even if only the number of times of extensions is changed, reading is done thrice (regarding extending direction, extension pitch and number of extensions). Further, since these data respectively have no meaning as independent data (e.g., vector data has no meaning when only the data is read), as the desired processing becomes longer and more complicated, operations for reading and editing become complicated. In a case where a desired instruction is given by utilizing this method, the processing time is prolonged.
As described above, the conventional input-output devices have a lot of problems in a user interface to execute similar processings repeatedly, and thus operability, operation efficiency and operation reliability are low.